#pragma once
#include "IAnimateable.hpp"
#include <exception>

namespace rh
{
	template <class T>
	class Animation : public rh::IAnimateable
	{
	protected:


		T _startValue;
		T _endValue;
		T _stepValue;

	public:
		Animation(rh::ITransformable* target,sf::Time animationTime, T startValue, T endValue) 
			: IAnimateable(target, animationTime), _startValue(startValue), _endValue(endValue)
		{
			if(target == nullptr)
				throw std::invalid_argument("\"target\" cannot be a null ptr");
		};
	};

}


